import java.text.SimpleDateFormat;
import java.util.concurrent.Callable;
public class PriceCall implements Callable<PriceDelay>{
    private int result;
    @Override
    public PriceDelay call() throws Exception {
        double delay=Math.random() * 1000;
        // 模拟查询价格
        try {
            //模拟网络延时
            //延时时间随机
            //延时显示在查询价格
            Thread.sleep((int) delay);
        } catch (InterruptedException e) {
            throw new RuntimeException(e);
        }
        //价格在2000上下浮动
        double price = 100 + Math.random() * 2000;
        //小数点后两位显示价格，整数显示延迟
        price = (double) Math.round(price * 100) / 100;
        //显示查询价格的时间
        //获取当前时间
        long timestamp = System.currentTimeMillis();
        //自定义格式化时间
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        //格式化时间
        String date = sdf.format(timestamp);
        //返回价格查询结果的数量
        synchronized (this) {
            result += (int) (Math.random() * 100);
        }
        //返回价格
        return new PriceDelay(price,(int)delay,date);
    }
    public int getResult() {
        return result;
    }
}
